﻿using System;
using System.Collections.Generic;

using System.Text;

namespace Rance.Battle
{
    class 锦囊妙计1 : 主动技能
    {
        public 锦囊妙计1()
        {
            this.技能速度 = 140;
            this.消耗行动点 = Battle.消耗行动点.两点;
            this.技能目标 = Battle.技能目标.己方任一;
            this.技能站位要求 = Battle.技能站位要求.无;
        }

        public override void Excute(技能环境 环境)
        {
            base.Excute(环境);

            int value = 环境.目标List[0].最大行动点 - 环境.目标List[0].行动点;

            if (value != 0)
            {
                环境.目标List[0].行动点 += 1;

                获得行动点Behavior behavior = new 获得行动点Behavior();
                behavior.List.Add(new 获得行动点BehaviorDetail() { 角色 = new 角色Struct() { ID = 环境.目标List[0].ID, Name = 环境.目标List[0].Name }, 行动点 = 1 });
                环境.行动结果.ResultList.Add(behavior);
            }
        }
    }

    class 锦囊妙计2 : 主动技能
    {
        public 锦囊妙计2()
        {
            this.技能速度 = 110;
            this.消耗行动点 = Battle.消耗行动点.全部;
            this.技能目标 = Battle.技能目标.己方全体;
            this.技能站位要求 = Battle.技能站位要求.无;
        }

        public override void Excute(技能环境 环境)
        {
            获得行动点Behavior behavior = new 获得行动点Behavior();
            环境.行动结果.ResultList.Add(behavior);

            foreach (var 角色 in 环境.目标List)
            {
                if (角色 == 环境.施放者)
                    continue;

                int value = 角色.最大行动点 - 角色.行动点;

                if (value != 0)
                {
                    角色.行动点 += 1;
                    behavior.List.Add(new 获得行动点BehaviorDetail() { 角色 = new 角色Struct() { ID = 角色.ID, Name = 角色.Name }, 行动点 = 1 });
                }
            }
        }
    }
}
